package com.ctshk.rpc.certificate.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.ctshk.common.model.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDate;

/**
 * <p>
 * 回乡证登记申请表
 * </p>
 *
 * @author 谢诗宏
 * @since 2021-03-22
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("t_certificate_reentry_permit")
@ApiModel(value="CertificateReentryPermit对象", description="回乡证登记申请表")
public class CertificateReentryPermit extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "登记号码")
    private String registerNumber;

    @ApiModelProperty(value = "申请人类别id")
    private Long applicantTypeId;

    @ApiModelProperty(value = "申请人类别名称")
    private String applicantTypeName;

    @ApiModelProperty(value = "证件类别id")
    private Long certificateTypeId;

    @ApiModelProperty(value = "证件类别名称")
    private String certificateTypeName;

    @ApiModelProperty(value = "证件号码")
    private String certificateNo;

    @ApiModelProperty(value = "中文姓")
    private String cnSurname;

    @ApiModelProperty(value = "中文名")
    private String cnName;

    @ApiModelProperty(value = "曾用中文名")
    private String onceCnName;

    @ApiModelProperty(value = "英文姓")
    private String enSurname;

    @ApiModelProperty(value = "英文名")
    private String enName;

    @ApiModelProperty(value = "曾用英文名")
    private String onceEnName;

    @ApiModelProperty(value = "性别（0:未知; 1:男; 2:女）")
    private Integer gender;

    @ApiModelProperty(value = "出生日期")
    private LocalDate birthday;

    @ApiModelProperty(value = "出生地id")
    private Long birthplaceId;

    @ApiModelProperty(value = "出生地名称")
    private String birthplaceName;

    @ApiModelProperty(value = "国籍id")
    private Long nationalityId;

    @ApiModelProperty(value = "国籍名称")
    private String nationalityName;

    @ApiModelProperty(value = "职业id")
    private Long professionId;

    @ApiModelProperty(value = "职业名称")
    private String professionName;

    @ApiModelProperty(value = "居住地id")
    private Long residenceId;

    @ApiModelProperty(value = "居住地名称")
    private String residenceName;

    @ApiModelProperty(value = "港澳住址id")
    private Long hkMacauAddressId;

    @ApiModelProperty(value = "港澳住址名称")
    private String hkMacauAddressName;

    @ApiModelProperty(value = "港澳联络电话")
    private String hkMacauPhone;

    @ApiModelProperty(value = "内地联络电话")
    private String mainlandPhone;

    @ApiModelProperty(value = "邮箱地址")
    private String email;

    @ApiModelProperty(value = "港澳居民证件id")
    private Long hkMacauCertificateId;

    @ApiModelProperty(value = "港澳居民证件名称")
    private String hkMacauCertificateName;

    @ApiModelProperty(value = "港澳居民证件号码")
    private String hkMacauCertificateNo;

    @ApiModelProperty(value = "香港身份证首发日期")
    private LocalDate hkIdCardStartingDate;

    @ApiModelProperty(value = "现持身份证签发日期")
    private LocalDate hkIdCardIssueDate;

    @ApiModelProperty(value = "香港特区护照号码")
    private String hkPassportNumber;

    @ApiModelProperty(value = "香港特区护照签发日期")
    private LocalDate hkPassportIssueDate;

    @ApiModelProperty(value = "父亲身体状态id")
    private Long fatherBodyStateId;

    @ApiModelProperty(value = "父亲身体状态")
    private String fatherBodyStateName;

    @ApiModelProperty(value = "父亲中文姓名")
    private String fatherCnName;

    @ApiModelProperty(value = "父亲英文姓名")
    private String fatherEnName;

    @ApiModelProperty(value = "父亲地址")
    private String fatherAddress;

    @ApiModelProperty(value = "父亲电话")
    private String fatherPhone;

    @ApiModelProperty(value = "母亲身体状态id")
    private Long motherBodyStateId;

    @ApiModelProperty(value = "母亲身体状态")
    private String motherBodyStateName;

    @ApiModelProperty(value = "母亲中文姓名")
    private String motherCnName;

    @ApiModelProperty(value = "母亲英文姓名")
    private String motherEnName;

    @ApiModelProperty(value = "母亲地址")
    private String motherAddress;

    @ApiModelProperty(value = "母亲电话")
    private String motherPhone;

    @ApiModelProperty(value = "子女身体状态id")
    private Long childBodyStateId;

    @ApiModelProperty(value = "子女身体状态")
    private String childBodyStateName;

    @ApiModelProperty(value = "子女中文姓名")
    private String childCnName;

    @ApiModelProperty(value = "子女英文姓名")
    private String childEnName;

    @ApiModelProperty(value = "子女地址")
    private String childAddress;

    @ApiModelProperty(value = "子女电话")
    private String childPhone;

    @ApiModelProperty(value = "受理状态(0 取消预约 1 登记成功 2 已受理 3 申请人超时未到)")
    private Integer acceptStatus;

    @ApiModelProperty(value = "创建人")
    private Long createId;

    @ApiModelProperty(value = "修改人")
    private Long modifiedId;

    @ApiModelProperty(value = "删除标识")
    private Integer isDeleted;

    @ApiModelProperty(value = "业务名称")
    private String name;

    @ApiModelProperty(value = "申请类别Id")
    private Long applyTypeId;

    @ApiModelProperty(value = "申请类别名称")
    private String applyTypeName;

    @ApiModelProperty(value = "预约日期段")
    private LocalDate reserveDate;

    @ApiModelProperty(value = "预约时间")
    private String reserveTime;

    @ApiModelProperty(value = "办证中心id")
    private Long businessHallId;

    @ApiModelProperty(value = "办证中心名称")
    private String businessHallName;

    @ApiModelProperty(value = "取消登记原因")
    private String acceptDesc;

    @ApiModelProperty(value = "恢复或入籍证书号码")
    private String oldNationalityName;

    @ApiModelProperty(value = "恢复或入籍证书号码")
    private String oldCertificateNo;

    @ApiModelProperty(value = "证书签发日期")
    private LocalDate certificateStartingDate;

    @ApiModelProperty(value = "证件有效期至")
    private LocalDate certificateEndDate;

    @ApiModelProperty(value = "持有香港永久性居民身份证  (0,否,1是)")
    private Integer hasHkCard;

    @ApiModelProperty(value = "回乡证上的姓名，性别和出生日期均与香港身份证一致没有变更  (0,否,1是)")
    private Integer isIdentical;

    @ApiModelProperty(value = "提交状态(0 保存草稿 1 提交)")
    private Integer submissionStatus;
}
